class Solution {
public:
    int findLUSlength(vector<string>& strs) {
        // 如果一个序列的子序列是特殊字符串，那么这个子序列一定也是特殊字符串
        // 所以子序列一定是特殊字符本身
        size_t ans = 0;
        for(int x = 0;x < strs.size(); ++x)
        {
            string& s1 = strs[x];
            bool is_true = true;
            for(int y = 0; y < strs.size(); ++y)
            {
                if(x == y) continue;
                string& s2 = strs[y];
                int i = 0, j = 0;
                for(; i < s1.size() && j < s2.size();)
                {
                    if(s1[i] == s2[j]) ++i, ++j;
                    else ++j;
                }
                if(i == s1.size()) {
                    is_true = false;
                    break;
                }
            }
            if(is_true) ans = max(ans, s1.size());
        }
        if(ans == 0) return -1;
        return ans;
    }
};class Solution {
public:
    int findLUSlength(vector<string>& strs) {
        // 如果一个序列的子序列是特殊字符串，那么这个子序列一定也是特殊字符串
        // 所以子序列一定是特殊字符本身
        size_t ans = 0;
        for(int x = 0;x < strs.size(); ++x)
        {
            string& s1 = strs[x];
            bool is_true = true;
            for(int y = 0; y < strs.size(); ++y)
            {
                if(x == y) continue;
                string& s2 = strs[y];
                int i = 0, j = 0;
                for(; i < s1.size() && j < s2.size();)
                {
                    if(s1[i] == s2[j]) ++i, ++j;
                    else ++j;
                }
                if(i == s1.size()) {
                    is_true = false;
                    break;
                }
            }
            if(is_true) ans = max(ans, s1.size());
        }
        if(ans == 0) return -1;
        return ans;
    }
};